package com.wang.luntan.common.pojo;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;

import java.io.Serializable;

/**
 * 所有POJO的超类
 *
 * @author wangsh
 */
public class BasePojo<T> implements Serializable {
    /**
     * 将对象转换为JSON
     *
     * @return
     */
    public JSONObject toJSON() {
        String jsonStr = JSON.toJSONString(this, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteMapNullValue);
        return (JSONObject) JSON.parse(jsonStr);
    }

    /**
     * 从json对象中解析对象
     *
     * @param souStr
     * @return
     */
    protected T parseJSON(JSONObject souJSON) {
        return null;
    }
}
